/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package py.com.mblj.domain;

import java.io.Serializable;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 *
 * @author markos
 */
@Entity
@Table(name = "ciudades")
@NamedQueries({@NamedQuery(name = "Ciudades.findAll", query = "SELECT c FROM Ciudades c"), @NamedQuery(name = "Ciudades.findByCiCiudad", query = "SELECT c FROM Ciudades c WHERE c.ciCiudad = :ciCiudad"), @NamedQuery(name = "Ciudades.findByCiDescripcion", query = "SELECT c FROM Ciudades c WHERE c.ciDescripcion = :ciDescripcion"), @NamedQuery(name = "Ciudades.findByCiGentilicio", query = "SELECT c FROM Ciudades c WHERE c.ciGentilicio = :ciGentilicio")})
public class Ciudades implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "ci_ciudad")
    private Integer ciCiudad;
    @Column(name = "ci_descripcion")
    private String ciDescripcion;
    @Column(name = "ci_gentilicio")
    private String ciGentilicio;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "ciCiudad", fetch = FetchType.LAZY)
    private List<Denuncias> denunciasList;
    @OneToMany(mappedBy = "dnLugarNacimiento", fetch = FetchType.LAZY)
    private List<Personas> personasList;
    @JoinColumn(name = "ba_barrio", referencedColumnName = "ba_barrio")
    @ManyToOne(optional = false, fetch = FetchType.LAZY)
    private Barrios baBarrio;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "ciCiudad", fetch = FetchType.LAZY)
    private List<Departamentos> departamentosList;

    public Ciudades() {
    }

    public Ciudades(Integer ciCiudad) {
        this.ciCiudad = ciCiudad;
    }

    public Integer getCiCiudad() {
        return ciCiudad;
    }

    public void setCiCiudad(Integer ciCiudad) {
        this.ciCiudad = ciCiudad;
    }

    public String getCiDescripcion() {
        return ciDescripcion;
    }

    public void setCiDescripcion(String ciDescripcion) {
        this.ciDescripcion = ciDescripcion;
    }

    public String getCiGentilicio() {
        return ciGentilicio;
    }

    public void setCiGentilicio(String ciGentilicio) {
        this.ciGentilicio = ciGentilicio;
    }

    public List<Denuncias> getDenunciasList() {
        return denunciasList;
    }

    public void setDenunciasList(List<Denuncias> denunciasList) {
        this.denunciasList = denunciasList;
    }

    public List<Personas> getPersonasList() {
        return personasList;
    }

    public void setPersonasList(List<Personas> personasList) {
        this.personasList = personasList;
    }

    public Barrios getBaBarrio() {
        return baBarrio;
    }

    public void setBaBarrio(Barrios baBarrio) {
        this.baBarrio = baBarrio;
    }

    public List<Departamentos> getDepartamentosList() {
        return departamentosList;
    }

    public void setDepartamentosList(List<Departamentos> departamentosList) {
        this.departamentosList = departamentosList;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (ciCiudad != null ? ciCiudad.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Ciudades)) {
            return false;
        }
        Ciudades other = (Ciudades) object;
        if ((this.ciCiudad == null && other.ciCiudad != null) || (this.ciCiudad != null && !this.ciCiudad.equals(other.ciCiudad))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "py.com.mblj.domain.Ciudades[ciCiudad=" + ciCiudad + "]";
    }

}
